Parameter Annotations 常用参数注解
@QueryParam 用于从请求 URL 的查询组件中提取查询参数。我们在 MyResource 里面添加下面的方法:
这个 PUT 方法,将会接收从URL 传递过来的参数 age,name ,而后将这些参数赋给对象 MyBean ,并且返回。
启动服务,在 RESTClient 里面发送 PUT 请求 。成功后就能接收到一个 JSON 数据对象。
"age": 28,
"name": "waylau"
我们在 MyResource 里面添加下面的方法:
启动服务,在 RESTClient 里面发送 POST 请求调用 http://localhost:8080/webapi/myresource/pojo
接口,如果该请求包含参数,则将参数值以对象形式放回,否则,将默认值以对象形式放回
例如,当我们的请求是http://localhost:8080/webapi/myresource/pojo?age=26&name=waylau
则返回
{
"name": "waylau"
}
则返回默认值
顾名思义是处理 HTML表单请求的。要求所请求 MIME 媒体类型为 application/x-www-form-urlencoded
,并且符合指定的 HTML 编码的形式,此参数提取对于 HTML 表单 POST 请求是非常有用的。比如,我们要处理一个登陆表单,处理如下:
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response login(@FormParam("username") String username,
//业务逻辑省略...
return null;
}
其他的参数注解还包括
- @MatrixParam 从 URL 路径提取信息
- 从 HTTP 头部提取信息
- @CookieParam从关联在 HTTP 头部的 cookies 里提取信息
- 允许注入参数到一个 bean
- @Context 一般可以用于获得一个Java类型关联请求或响应的上下文。
见 。